/**
 * Class:	VolunteerActivity
 * 
 * Variables:
 * 
 *		private Date dateFiled;
 *		private Date dateApproved;
 *		private Date dateOfActivity;
 *		private Date dateDue;
 *		private ArrayList<Organization> organizations;
 *		private ArrayList<String> advisers;
 *		private ArrayList<Participant> participants;
 *		private boolean canceled;
 *		private OrganizationEvaluation organizationEvaluation;
 *		private AdviserEvaluation adviserEvaluation;
 *		private BeneficiaryEvaluation beneficiaryEvaluation;
 * 
 * Remarks:
 * 
 * 		Variables are set to private and can be accessed
 * 		only through their getters and setters.
 * 		
 * 		Getter for canceled is: "isCanceled();"
 * 
 * @author ( Sharmaine Lim )
 * @version ( 2013-02-28 // YYYY-MM-DD )
 */

package models;

import java.util.ArrayList;

public class VolunteerActivity extends Activity {
	
    /* Instance Variables */
	private Date dateFiled;
	private Date dateApproved;
	private Date dateOfActivity;
	private Date dateDue;
	private ArrayList<Organization> organizations;
	private ArrayList<String> advisers;
	private ArrayList<Participant> participants;
	private boolean canceled;
	private OrganizationEvaluation organizationEvaluation;
	private AdviserEvaluation adviserEvaluation;
	private BeneficiaryEvaluation beneficiaryEvaluation;
	
	
	
	/**
	 * Constructors
	 */
	
	public VolunteerActivity( String title, String type,
							  ArrayList<String> beneficiaries, ArrayList<String> remarks,
							  Date dateFiled, Date dateApproved,
							  Date dateOfActivity, Date dateDue,
							  ArrayList<Organization> organizations,
							  ArrayList<String> advisers,
							  ArrayList<Participant> participants, boolean canceled,
							  OrganizationEvaluation organizationEvaluation,
							  AdviserEvaluation adviserEvaluation,
							  BeneficiaryEvaluation beneficiaryEvaluation ) {
        super( title, type, beneficiaries, remarks );
        this.dateFiled = dateFiled;
        this.dateApproved = dateApproved;
        this.dateOfActivity = dateOfActivity;
        this.dateDue = dateDue;
        this.organizations = organizations;
        this.advisers = advisers;
        this.participants = participants;
        this.canceled = canceled;
        this.organizationEvaluation = organizationEvaluation;
        this.adviserEvaluation = adviserEvaluation;
        this.beneficiaryEvaluation = beneficiaryEvaluation;
	}
	
	
	
	/**
	 * Getters
	 */
	
	public Date getDateFiled() {
		return this.dateFiled;
	}
	
	public Date getDateApproved() {
		return this.dateApproved;
	}
	
	public Date getDateOfActivity() {
		return this.dateOfActivity;
	}
	
	public Date getDateDue() {
		return dateDue;
	}
	
	public ArrayList<Organization> getOrganizations() {
		return this.organizations;
	}
	
	public ArrayList<String> getAdvisers() {
		return this.advisers;
	}
	
	public ArrayList<Participant> getParticipants() {
		return this.participants;
	}
	
	public boolean isCanceled() {
		return this.canceled;
	}
	
	public OrganizationEvaluation getOrganizationEvaluation() {
		return organizationEvaluation;
	}
		
	public AdviserEvaluation getAdviserEvaluation() {
		return adviserEvaluation;
	}
		
	public BeneficiaryEvaluation getBeneficiaryEvaluation() {
		return beneficiaryEvaluation;
	}
	
	
	
	/**
	 * Setters
	 */
	
	public void setDateFiled( Date dateFiled ) {
		this.dateFiled = dateFiled;
	}
	
	public void setDateApproved( Date dateApproved ) {
		this.dateApproved = dateApproved;
	}
	
	public void setDateOfActivity( Date dateOfActivity ) {
		this.dateOfActivity = dateOfActivity;
	}
	
	public void setDateDue(Date dateDue) {
		this.dateDue = dateDue;
	}
	
	public void setOrganizations( ArrayList<Organization> organizations ) {
		this.organizations = organizations;
	}
	
	public void setAdvisers( ArrayList<String> advisers ) {
		this.advisers = advisers;
	}
	
	public void setParticipants( ArrayList<Participant> participants ) {
		this.participants = participants;
	}
	
	public void setCanceled( boolean canceled ) {
		this.canceled = canceled;
	}
		
	public void setOrganizationEvaluation( OrganizationEvaluation organizationEvaluation ) {
		this.organizationEvaluation = organizationEvaluation;
	}
	
	public void setAdviserEvaluation( AdviserEvaluation adviserEvaluation ) {
		this.adviserEvaluation = adviserEvaluation;
	}
	
	public void setBeneficiaryEvaluation( BeneficiaryEvaluation beneficiaryEvaluation ) {
		this.beneficiaryEvaluation = beneficiaryEvaluation;
	}
}